namespace classifier_test
{

class hyperplane_generator : public conceptual_data_generator
{
public:
	hyperplane_generator();
	hyperplane_generator(const hyperplane_generator& Val);
	smart_ptr<conceptual_data_generator> clone() const;
	const record_scheme& get_scheme() const;
	int get_concept_count() const;
	void set_concept_count(int Val);
	int get_dimensionality() const;
	void set_dimensionality(int Val);

	void open();
	void close();
	void generate(int Con, record& Rec) const;

private:
	int ConceptCount, Dim;
	record_scheme Scheme;
	vector<vector<double> > Planes;
};

}
